/*
1.创建web服务
2.读取echarts文件夹里边的所有文件
3.返回给浏览器
4.如果请求的是不存在的页面,读取404页面,并且返回给浏览器 给个404的状态码 
*/

// const http = require('http')
// const fs = require('fs')
// const path = require('path')

// // 第三方模块
// const mime = require('mime')

// const server = http.createServer()

// server.listen(3000, () => {
//   console.log('服务启动成功了~');
// })

// // 参数一: req: 请求相关的全部信息
// // 参数二: res: 响应相关的全部信息
// server.on('request', (req, res) => {
//   // console.log(req.url);
//   if (req.url === '/') req.url = '/index.html'

//   // 核心思想: 前端请求的是啥, 服务端就返回啥 index.html index.css
//   const filePath = path.join(__dirname, 'echarts', req.url)
//   fs.readFile(filePath,  (err, data) => {
//     // 二进制的buffer对象,不要轻易转成字符串
//     if (err) {
//       fs.readFile(path.join(__dirname, 'echarts', '404.html'), (err, data) => {
//         if (err) return console.log('读取文件失败', err)
//         res.end(data)
//       })
//     }else {
//       // path.extname() // 扩展名 .jpg .css
//       // console.log(req.url);
//       // 设置文件的响应头的内容类型 (编码方式)
//       res.setHeader('content-type', mime.getType(req.url))
//       res.end(data)
//     }
//   })


//   // if (req.url === '/index.html') {
//   //   fs.readFile(filePath, 'utf-8', (err, data) => {
//   //     if (err) return console.log('文件读取失败',err)
//   //     res.end(data)
//   //   })
//   // }else {
//   //   // 不处理else 的情况, pending 等待 
//   //   res.end()
//   // }
// })

const fs = require('fs')
const path = require('path')
const http = require('http')
const mime = require('mime')
const server = http.createServer()
server.listen(3010,()=>{
  console.log('服务器启动');
})
server.on('request',(req,res)=>{
  if(req.url==='/')  req.url==='/index.html'
  const newArr = path.join(__dirname,'echarts',req.url)
  fs.readFile(newArr,(err,data)=>{
    if(err) {
      fs.readFile(path.join(__dirname,'echarts','404.html'),(err,data)=>{
        if(err) return console.log('文件读取失败',err);
        res.end(data)
      })
    }else{
      res.setHeader('content-type',mime.getType(req.url))
      res.end(data)
    }
  })
})